package com.wjn.basic.java8.lamda;

import java.util.Arrays;
import java.util.List;
import java.util.Random;
import java.util.stream.Collectors;

/**
 *Collection接口   java8新增 removeIf()、spliterator()、 stream()、 parallelStream() 、forEach()
 *List  java8新增replaceAll() 、sort()
 *Map   java8新增getOrDefault()、 forEach()、 replaceAll()、 putIfAbsent() 、remove()、 replace() 、computeIfAbsent() 、computeIfPresent()、 compute()、 merge()
 */
public class StreamDemo {

        public StreamDemo(){

        }

    public static void main(String[] args) {

        //filter
        List<String> strings = Arrays.asList("abc", "", "bc", "efg", "abcd","", "jkl");
        strings.stream().filter(string->!string.isEmpty()).collect(Collectors.toList());

        //map
        List<Integer> numbers = Arrays.asList(3, 2, 2, 3, 7, 3, 5);
        // 获取对应的平方数
        List<Integer> squaresList = numbers.stream().filter(number->number!=2).map( i -> i*i).distinct().collect(Collectors.toList());
        squaresList.forEach(System.out::println);
        System.out.println("限流后");
        //limit限流
        squaresList.stream().limit(1).forEach(System.out::println);//限流


    }


}
